package com.lxmes.sales.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lxmes.common.annotation.Excel;
import com.lxmes.common.core.domain.BaseEntity;

/**
 * 订单资源验算对象 nc_order_resources_ys
 *
 * @author ruoyi
 * @date 2022-12-08
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class NcOrderResourcesYs extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 公司代码 */
    @Excel(name = "公司代码")
    private String factoryCode;

    /** 公司名称 */
    @Excel(name = "公司名称")
    private String factoryName;

    /** 订单类别 正式/预测 */
    @Excel(name = "订单类别")
    private String orderType;

    /** 特殊要求 */
    @Excel(name = "特殊要求")
    private String specialRequirements;

    /** 合同号 */
    @Excel(name = "合同号")
    private String hth;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderNo;

    /** 产品状态 */
    @Excel(name = "产品状态")
    private String productState;

    @Excel(name = "产品编码")
    private String productCode;

    @Excel(name = "产品名称")
    private String productName;

    /*物料编号*/
    @Excel(name = "物料编号")
    private String itemId;

    /*物料名称*/
    @Excel(name = "物料名称")
    private String itemName;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private String orderState;

    /** 订单是否撤销 */

    private String ifOrderUndo;

    /** 审核人员 */

    private String auditUser;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date auditTime;

    /** 审核车间 */

    private String auditWorkshop;

    /** 配置类型 */

    private String configType;

    /** 订单数量 */
    @Excel(name = "订单数量")
    private Long orderNumber;

    /** 仓库代码 */
    @Excel(name = "仓库代码")
    private String warehouseCode;

    /** 库存数量 */
    @Excel(name = "库存数量")
    private Long kcNum;

    /** 库位编码 */
    @Excel(name = "库位编码")
    private String kwbm;

    /** 库位数量 */
    @Excel(name = "库位数量")
    private Long kwNum;

    /** 库存订单数量 */
    @Excel(name = "库存订单数量")
    private Long kcOrderNum;

    /** 剩余订单数量 */
    @Excel(name = "剩余订单数量")
    private Long syOrderNum;

    /** 交货期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交货期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date deliveryDate;

    /** 未排产 */
    @Excel(name = "未排产数量")
    private Long noPcNum;

    /** 预排 */
    @Excel(name = "预排数量")
    private Long yuPcNum;

    /** 排产 */
    @Excel(name = "排产数量")
    private Long pcNum;

    /** 生产 */
    @Excel(name = "生产数量")
    private Long scNum;

    /** 完成数量 */
    @Excel(name = "完成数量")
    private Long finishNum;

    /** 排产驾驶室 */
    @Excel(name = "排产驾驶室")
    private String pcJss;

    /** 生产订单类型 */
    @Excel(name = "生产订单类型")
    private String productOrderType;

    /** 产品型号 */
    @Excel(name = "产品型号")
    private String productModel;

    /** 基本型图号 */
    @Excel(name = "基本型图号")
    private String baseItemNum;

    /** PZK图号 */
    @Excel(name = "PZK图号")
    private String pzkItemNum;

    /** 产品选装号 */
    @Excel(name = "产品选装号")
    private String zcXzNo;

    /** 配置号 */
    @Excel(name = "配置号")
    private String configNo;

    /** 配置要求 */
    @Excel(name = "配置要求")
    private String configRequire;

    /** 原交货期 */
    @Excel(name = "原交货期")
    private String oDeliveryDate;

    /** 颜色 */
    @Excel(name = "颜色")
    private String color;

    /** 排产状态 */
    @Excel(name = "排产状态")
    private String pcState;

    /** CCC公告 */
    @Excel(name = "CCC公告")
    private String cccNotice;

    /** 工信部公告 */
    @Excel(name = "工信部公告")
    private String gxbNotice;

    /** 驳回原因 */
    @Excel(name = "驳回原因")
    private String rejectReason;

    /** 客户编码 */
    @Excel(name = "客户编码")
    private String clientNo;

    /** 卡车类型 */
    @Excel(name = "卡车类型")
    private String truckType;

    /** 国家 */
    @Excel(name = "国家")
    private String country;

    /** 用户 */
    @Excel(name = "用户")
    private String user;

    /** 建议排产车间 */
    @Excel(name = "建议排产车间")
    private String jyPcCj;

    /** 三类底盘类型 */
    @Excel(name = "三类底盘类型")
    private String slDpLx;

    /** 通知单号 */
    @Excel(name = "通知单号")
    private String noticeOrderNo;

    /** 是否急单 */
    @Excel(name = "是否急单")
    private String isEmergency;

    /** 系列 */
    @Excel(name = "系列")
    private String series;

    /** 驱动形式 */
    @Excel(name = "驱动形式")
    private String qdxs;

    /** 新车型类型 */
    @Excel(name = "新车型类型")
    private String newCarType;

    /** 新车型说明 */
    @Excel(name = "新车型说明")
    private String newCarInstruction;

    /** 技术确认状态 */
    @Excel(name = "技术确认状态")
    private String tecConfirmState;

    /** 技术确认说明 */
    @Excel(name = "技术确认说明")
    private String tecConfirmInfo;

    /** 接单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "接单时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date orderTime;

    private String itemIdentifyCode;

    private String createDate;


    /** 产品类型 */
    @Excel(name = "产品类型")
    @ApiModelProperty("产品类型")
    private String productType;

    /** 物料规格 */
    @Excel(name = "物料规格")
    @ApiModelProperty("物料规格")
    private String itemSpec;

    /** 质量状态 */
    @Excel(name = "质量状态")
    @ApiModelProperty("质量状态")
    private String qualityStatus;

    /** 使用状态 */
    @Excel(name = "使用状态")
    @ApiModelProperty("使用状态")
    private String usageStatus;

    /** 单位 */
    @Excel(name = "单位")
    @ApiModelProperty("单位")
    private String unit;

    /** 单台用量 */
    @Excel(name = "单台用量")
    @ApiModelProperty("单台用量")
    private Long dtyl;

    /** 订单用量 */
    @Excel(name = "订单用量")
    @ApiModelProperty("订单用量")
    private Long totalOrderUsage;

    /** 本次锁账数量 */
    @Excel(name = "本次锁账数量")
    @ApiModelProperty("本次锁账数量")
    private Long lockedAccountQuantity;

    /** 仓库缺件数量 */
    @Excel(name = "仓库缺件数量")
    @ApiModelProperty("仓库缺件数量")
    private Long warehouseShortageQuantity;

    /** 锁账时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "锁账时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("锁账时间")
    private Date lockedTime;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    @ApiModelProperty("仓库名称")
    private String stockName;

    /** 库区编码 */
    @Excel(name = "库区编码")
    @ApiModelProperty("库区编码")
    private String kuquCode;

    /** 库区名称 */
    @Excel(name = "库区名称")
    @ApiModelProperty("库区名称")
    private String kuquName;

    private String isPs;

    private long salesOrderId;

    /** 部门数据隔离代码 */
    private Long deptId;



}
